#pragma once
#include <stdlib.h>
#include <stdio.h>
#include "../CQReflect/CQReflect.h"

class CQReflect_API ClassDemoC : public CQ::CQVirtual, CQ::CQReflect<ClassDemoC>
{
public:
	ClassDemoC();
	virtual ~ClassDemoC();
	virtual void Say() override;
	std::string func();
};

class CQReflect_API ClassDemoD : public CQ::CQVirtual, CQ::CQReflect<ClassDemoD>, CQ::CQReflect<ClassDemoD, const std::string&>
{
public:
	ClassDemoD();
	ClassDemoD(const std::string& para);
	virtual ~ClassDemoD();
	virtual void Say() override;
	std::string func();
};